Der kürzlich eingeführte Webservice bietet Anwendern die Möglichkeit, mit RFEM 6 in einer Programmiersprache ihrer Wahl zu kommunizieren. Zudem wird die Funktionalität durch unsere High-Level Functions (HLF)-Library erweitert. Die Bibliotheken sind für Python, JavaScript und C# verfügbar. Dieser Beitrag behandelt einen praktischen Anwendungsfall zur Programmierung eines 2D-Truss-Generators (Fachwerkträger in 2D) mit Python. Das ist "Learning by doing", wie es so schön heißt.
"Gutes Werkzeug, halbe Arbeit": Dieses Sprichwort trifft im übertragenen Sinn auch auf die Softwarebranche zu. Je besser ein Programm auf eine Aufgabenstellung zugeschnitten ist, desto effektiver lässt sich diese lösen. Die Vielzahl und Komplexität der heutigen Problemstellungen - speziell in der Tragwerksplanung - bedürfen spezifisch zugeschnittener Lösungen. Die Erstellung eigener Programme mittels textueller Programmierung erfordert ein fundiertes Wissen und große Abstraktionsfähigkeit. Dieser Hürde stellen sich verständlicherweise nur sehr wenige Ingenieurbüros. Aus diesem Grund gibt es zusätzliche Software-Lösungen, welche dem Anwender eine visuelle Entwicklungsumgebung zur Verfügung stellen.
Bei der Bearbeitung von Elementen über die COM-Schnittstelle stellt die Selektion von Elementen oft ein Problem dar, da sie nicht visuell über das Arbeitsfenster durchgeführt werden kann. Gerade bei Modellen, welche über die Programmoberfläche erzeugt wurden und dann über ein eigenes Programm modifiziert werden sollen, kann die Auswahl schwierig sein. Neben der Ausnahme, dass die Auswahl zuvor über RFEM getroffen wurde, gibt es mehrere Alternativen für die Programmierung.
Seit RFEM 5.06 und RSTAB 8.06 sind die Beispiele und Hilfedateien zur Programmierung der COM-Schnittstelle nicht nur im Internet verfügbar, sondern werden bei der Installation mitgeliefert. Dabei wird im Projekt-Verzeichnis (typischerweise C:\Users\Public\Documents\Dlubal) der Ordner "SDK" angelegt.
Im ersten Teil der Beiträge zur COM-Schnittstelle geht es um das Öffnen und Schließen von RFEM. Als Programmiersprache wird VBA in Excel verwendet, der Programmablauf ist aber identisch zur Programmierung mit C#. Damit VBA die Befehle zur Schnittstelle kennt, muss zunächst der entsprechende Verweis hinzugefügt werden. In der Abbildung ist links das Beispiel anhand von RFEM 5 zu sehen.